Many computer systems, such as the personal computer (PC) may be purchased with differing levels of functionality and/or storage capacity. Increased functionality and/or storage capacity may be obtained through upgrading a basic unit by connecting add-on boards to "expansion slots" provided on the PC. A typical expansion board is available to increase the memory capacity of the PC. Other expansion boards provide additional or supplemental processing power and/or provide interface capabilities for a variety of input/output (I/O) functions. Many such expansion boards include a microprocessor or controller to perform a designated function.
When an expansion board is added to a PC, the board may need to be provided with certain information that defines its relationship to the host or to other parts of the system. For example, a memory board that is to be addressable by the host must be provided with its starting and ending address so that it can function appropriately with respect to the other memory in the system. Other expansion boards may also have addressable memory space which requires a starting and ending address. In addition, there may be other information required by such other boards.
For example, an expansion board for connecting the host to a local area network (LAN) may need information specifying its network node number, defining its interrupt level, etc.
The bits of data which define the information provided to the board are referred to as configuration bits and the act of providing the data bits to the board is referred to as configuring the board. Some boards are configured by manually operated switches which are connected to the board. These switches can be set prior to attaching the board to the host computer. When the board is powered up, the switches are read by the on board microprocessor or controller and the configuration information stored in the appropriate register for use as needed.
In the past, the on board microprocessor or controller received the configuration bits on dedicated lines. Since the microprocessor or controller is typically implemented as an integrated circuit chip, each line requires an additional pin. The number of pins used solely for configuration bits will vary but in some LAN cards is thirty-two. Together with the various control, data and address lines, the total number of pins can exceed one hundred. In general, the cost of a chip increases with an increase in the number of pins. In addition, the cost of the board to which the chip is attached is also more expensive in order to accommodate the extra pins.